<!DOCTYPE html>
<html>
    <head>
        <meta charset='utf-8'>
        <meta name="viewport" content="width=device-width, initial-scale=1" />
        <script src="../lib/esl.js"></script>
        <script src="../lib/config.js"></script>
        <script src="../lib/jquery.min.js"></script>
    </head>
    <body>
        <style>
            html, body, #main {
                width: 100%;
                height: 100%;
                margin: 0;
                padding: 0;
            }
        </style>
        <div id="main"></div>
        <script>

            require([
                'echarts',
                'ecStat'
            ], function (echarts, ecStat) {

                var chart = echarts.init(document.getElementById('main'));

                var dataSH = [
                    [1, 4862.4],
                    [2, 5294.7],
                    [3, 5934.5],
                    [4, 7171.0],
                    [5, 8964.4],
                    [6, 10202.2],
                    [7, 11962.5],
                    [8, 14928.3],
                    [9, 16909.2],
                    [10, 18547.9],
                    [11, 21617.8],
                    [12, 26638.1],
                    [13, 34634.4],
                    [14, 46759.4],
                    [15, 58478.1],
                    [16, 67884.6],
                    [17, 74462.6],
                    [18, 79395.7]
                ];

                var myRegression = ecStat.regression('exponential', dataSH);

                myRegression.points.sort(function (a, b) {
                    return a[0] - b[0];
                });

                chart.setOption({
                    title: {
                        text: '1981至1998年国内生产总值GDP（万亿元）',
                        left: 'center',
                        top: 21
                    },
                    tooltip: {
                        trigger: 'axis',
                        axisPointer: {
                            type: 'cross'
                        }
                    },
                    xAxis: {
                        type: 'value',
                        splitLine: {
                            lineStyle: {
                                type: 'dashed'
                            }
                        },
                        splitNumber: 20
                    },
                    yAxis: {
                        type: 'value',
                        splitLine: {
                            lineStyle: {
                                type: 'dashed'
                            }
                        }
                    },
                    series: [{
                        name: 'scatter',
                        type: 'scatter',
                        label: {
                            emphasis: {
                                show: true
                            }
                        },
                        data: dataSH
                     },{
                        name: 'line',
                        type: 'line',
                        showSymbol: false,
                        smooth: true,
                        data: myRegression.points,
                        markPoint: {
                            itemStyle: {
                                normal: {
                                    color: 'transparent'
                                }
                            },
                            label: {
                                normal: {
                                    show: true,
                                    formatter: myRegression.expression,
                                    textStyle: {
                                        color: '#333',
                                        fontSize: 14
                                    }
                                }
                            },
                            data: [{
                                coord: myRegression.points[myRegression.points.length - 1]
                            }]
                        }
                    }]
                });
            });
        </script>
    </body>
</html>